/*
 * 2021/12/16	9:53
 *
 *	linux二进制分析	P30
 */

#include <stdio.h>

static inline void foochu()
{

}

int func1()
{

}

int _start()
{
	func1();
	foochu();
}


/*

gcc -nostdlib 01.c -o 01

gcc 的-nostdlib 标志会命令链接器忽略标准的 libc 链接惯例，只编译我们给出的代码。默认的入口是_start()符号： 

readelf –s 01 | egrep 'foochu|func1'  
     7: 080480d8     5 FUNC    LOCAL  DEFAULT    2 foochu  
     8: 080480dd     5 FUNC    GLOBAL DEFAULT    2 func1  
 
可以看到 foochu 函数的值为 0x80480d8，是一个有本地符号绑定
（STB_LOCAL）的函数（STT_FUNC） 。前面的内容讲到，本地（LOCAL）绑
定意味着符号在被定义的目标文件之外是不可见的， 我们在源码中将foochu
函数用 static 关键字进行了声明，因此foochu 是本地的。 


*/

